package com.qf.test.test.advice;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

/**
 * 环绕通知：
 * 先执行环绕通知： 例如 开启事务
 * 在执行service中的业务增删改查方法
 * 在执行环绕通知  例如提交事务
 */
public class MyAroundAdvice implements MethodInterceptor {
    public Object invoke(MethodInvocation methodInvocation) throws Throwable {
        System.out.println("环绕通知： 开启事务  MethodInterceptor");
        //调用service执行核心业务方法
        Object proceed = methodInvocation.proceed();
        System.out.println("环绕通知 ：提交事务  MethodInterceptor");
        return proceed;
    }
}
